import { getDbConnection } from './db.js';

export async function addIconColumn() {
  try {
    const db = await getDbConnection();
    
    // 检查 icon 列是否已存在
    const tableInfo = await db.all("PRAGMA table_info(notes)");
    const hasIconColumn = tableInfo.some(column => column.name === 'icon');
    
    if (!hasIconColumn) {
      // 添加 icon 列
      await db.run('ALTER TABLE notes ADD COLUMN icon TEXT DEFAULT NULL');
      console.log('✅ 成功添加 icon 列到 notes 表');
    } else {
      console.log('ℹ️  icon 列已存在，跳过迁移');
    }

    // 检查 iconColor 列是否已存在
    const hasIconColorColumn = tableInfo.some(column => column.name === 'iconColor');
    
    if (!hasIconColorColumn) {
      // 添加 iconColor 列
      await db.run('ALTER TABLE notes ADD COLUMN iconColor TEXT DEFAULT NULL');
      console.log('✅ 成功添加 iconColor 列到 notes 表');
    } else {
      console.log('ℹ️  iconColor 列已存在，跳过迁移');
    }
    
    return { success: true };
  } catch (error) {
    console.error('❌ 数据库迁移失败:', error);
    return { success: false, error: error.message };
  }
}

// 如果直接运行此脚本，执行迁移
if (import.meta.url === `file://${process.argv[1]}`) {
  addIconColumn().then(result => {
    process.exit(result.success ? 0 : 1);
  });
}
